package com.redis.base.redis;

import java.util.List;
import java.util.Set;

public interface IRedis {
	
	public void put( String key,String value);
	public void put(final String key, final String value,final Long  expire);
	public void put( String key,Object value);
	public void put(String key,Object value,final Long  expire);
	public String get( String key);
	
	public void  unLock(final String ... keys);
	public Object deleteLike(final String ... keys);
	public boolean delete(final String key);
	
	<T> T get(String key, Class<T> objClass);
	<T> List<T>  getList(String key, Class<T> objClass);
	boolean tryLock(String lockKey);
	boolean tryLock(String lockKey, boolean isSpin);
	boolean tryLock(String lockKey, boolean isSpin, int spinNum);
	boolean lock(String lockKey, boolean isSpin, int timeUnit);
	long  incr(String key);
	Set<String> keys(String key);
	
}
